package com.swanclouds.api.session;

import com.swanclouds.common.RestService;
import com.swanclouds.model.common.ActionResponse;
import com.swanclouds.model.common.redfish.CollectionResource;
import com.swanclouds.model.identity.AuthStore;
import com.swanclouds.model.identity.Token;
import com.swanclouds.model.sessions.Session;

public interface SessionService extends RestService {

    /**
     * 查询会话服务信息
     * @return session
     */
    Session get();

    /**
     * 获取认证信息
     * @see com.swanclouds.redfish.identity.RedfishAuth
     * @param auth the RedfishAuth
     * @return token
     */
    Token create(AuthStore auth);

    /**
     * 查询会话集合信息
     * @return this
     */
    CollectionResource getSessions();

    /**
     * 查询指定会话资源信息
     * @param sessionId 会话ID
     * @return this
     */
    Session getSession(String sessionId);
    /**
     * 删除指定会话资源信息
     * @param sessionId 会话ID
     * @return this response
     */
    ActionResponse delete(String sessionId);

}
